package com.whfc.hdc.dao;

import com.whfc.hdc.dto.AppDeviceDTO;
import com.whfc.hdc.entity.AppDevice;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
* @author qzexing
* @version 1.0
* @date 2021-07-14 14:37
*/
@Repository
public interface AppDeviceMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(AppDevice record);

    int insertSelective(AppDevice record);

    AppDevice selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(AppDevice record);

    int updateByPrimaryKey(AppDevice record);

    /**
     * 通过sn查询硬件
     *
     * @param sn
     * @return
     */
    AppDevice selectBySn(@Param("sn") String sn);

    /**
     * 通过code查询硬件
     *
     * @param code
     * @return
     */
    AppDevice selectByCode(@Param("code") String code);

    /**
     * 查询硬件列表
     *
     * @param type 硬件类型
     * @param sn   硬件SN
     * @return
     */
    List<AppDeviceDTO> selectByTypeAndSn(@Param("type") Integer type, @Param("sn") String sn);

    /**
     * 查询硬件列表
     *
     * @param type
     * @param idList
     * @return
     */
    List<AppDeviceDTO> selectByTypeAndIds(@Param("type") Integer type, @Param("idList") List<Integer> idList);

    AppDeviceDTO getDeviceBySnAndType(@Param("sn")String sn, @Param("deviceType")Integer deviceType);
}